home *** CD-ROM | disk | FTP | other *** search
/ Libris Britannia 4 / science library(b).zip / science library(b) / PROGRAMM / ASSEMBLE / H279.ZIP / WASM223.ZIP / SERIAL8.ASM < prev    next >
Assembly Source File  |  1990-09-29  |  2KB  |  85 lines

  1. ;********************************;
  2. ; WASM Serial I/O, Break and DTR ;
  3. ; By Eric Tauck                  ;
  4. ;                                ;
  5. ; Defines:                       ;
  6. ;                                ;
  7. ;   ComBrk  send break signal    ;
  8. ;   ComDtr  lower DTR            ;
  9. ;                                ;
  10. ; Requires:                      ;
  11. ;                                ;
  12. ;   SERIAL1.ASM                  ;
  13. ;   TICKS.ASM                    ;
  14. ;********************************;
  15.  
  16.         jmp     _serial8_end
  17.  
  18. ;========================================
  19. ; Send a break signal.
  20. ;
  21. ; In: AX= ticks to wait; BX= serial
  22. ;     record.
  23.  
  24. ComBrk  PROC    NEAR
  25.  
  26. ;--- raise break signal
  27.  
  28.         push    ax
  29.         mov     dx, [bx+_COM_LINECTL]   ;line control
  30.         in      al, dx                  ;get byte
  31.         or      al, 40H
  32.         out     dx, al                  ;send byte
  33.         pop     ax
  34.  
  35. ;--- pause
  36.  
  37.         push    bx
  38.         call    TicWai
  39.         pop     bx
  40.  
  41. ;--- lower break signal
  42.  
  43.         mov     dx, [bx+_COM_LINECTL]  ;modem control
  44.         in      al, dx                  ;get byte
  45.         and     al, NOT 40H
  46.         out     dx, al                  ;send byte
  47.  
  48.         ret
  49.         ENDP
  50.  
  51. ;========================================
  52. ; Lower DTR.
  53. ;
  54. ; In: AX= ticks to wait; BX= serial
  55. ;     record.
  56.  
  57. ComDtr  PROC    NEAR
  58.  
  59. ;--- lower DTR
  60.  
  61.         push    ax
  62.         mov     dx, [bx+_COM_MODEMCTL]  ;modem control
  63.         in      al, dx                  ;get byte
  64.         and     al, NOT _COM_DTR        ;lower DTR
  65.         out     dx, al                  ;send byte
  66.         pop     ax
  67.  
  68. ;--- pause
  69.  
  70.         push    bx
  71.         call    TicWai
  72.         pop     bx
  73.  
  74. ;--- raise DTR
  75.  
  76.         mov     dx, [bx+_COM_MODEMCTL]  ;modem control
  77.         in      al, dx                  ;get byte
  78.         or      al, NOT _COM_DTR        ;raise DTR
  79.         out     dx, al                  ;send byte
  80.  
  81.         ret
  82.         ENDP
  83.  
  84. _serial8_end
  85.